iT邦幫忙

2023 iThome 鐵人賽

DAY 15
1
自我挑戰組

轉職新手學 Django 及 DRF系列 第 15

Day 15 - 接下來用 DRF 做個 API 吧!

  • 分享至 

  • xImage
  •  

結束了上一階段,現在要來介紹 Django RESR framework(DRF),DRF 是一個建立於 Django 用於製作 RESTful API 的框架,在開始之前先介紹一些基本概念。

API

API 全名為 Application Programming Interface,有人會將他比喻成餐廳中的服務生,負責在客人(客戶端)及廚房(伺服器)傳遞訂單及菜(資料)。有別於其他網站、桌面應用程式或手機 app,API 通常是軟體工程師才會使用到的工具,常用於前後端對接,或是與第三方服務間對接

API 沒有視覺化的介面,所以對於轉職的我來說,一開始真的很難理解其概念 XD。

這邊舉個簡單生活中的例子: 天氣預報 app,當打開手機的天氣預報 app,此 app 便會對氣象局 API 拿取天氣資料,資料經 app 處理後,轉換成精緻介面並顯示在手機上。

REST

全名為 Representational State Transfer,為一種軟體架構風格,使用此風格做出的 API 便稱作 RESTful API。

以商店資料操作為例,若沒有依照 REST 規範,端點可能會長成這樣:

名稱 端點 說明
Create store api/createStore 新增一個商店
Get single store api/getStore/store_id 獲取一個商店
List stores api/getallStore 獲取所有商店
Update store api/updateStore/store_id 修改一個商店
Delete store api/deleteStore/store_id 刪除一個商店

按照 REST 風格製作則是以下這樣:

名稱 端點 HTTP 動詞 說明
Create store api/stores POST 新增一個商店
Get single store api/stores/store_id GET 獲取一個商店
List stores api/stores GET 獲取所有商店
Update store api/stores/store_id PUT 修改一個商店
Delete store api/stores/store_id DELETE 刪除一個商店

可以發現端點只有api/storeapi/store_id兩種,很一致,主要差別是在 HTTP 動詞。一比較是不是就發現 REST 簡潔多了呢!!

結語

下一篇來介紹 REST 架構的規範,明天見~


上一篇
Day 14 - 來優化一下程式碼吧!
下一篇
Day 16 - 做 API 之前先簡單介紹 REST
系列文
轉職新手學 Django 及 DRF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言